package com.zatech.cgnci.project.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 险种信息映射表（暂定）
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
@Accessors(chain = true)
@TableName("cgnci_reinsure_risk")
@ApiModel(value = "CgnciReinsureRiskDO对象", description = "险种信息映射表（暂定）")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CgnciReinsureRiskDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("编号")
    private Long businessId;

    @ApiModelProperty("业务类型（根据业务自定义业务类型进行区分）")
    private String businessType;

    @ApiModelProperty("配置险类id(cgnci_risk.id)")
    private Long riskId;

    @ApiModelProperty("险类")
    private String riskClass;

    @ApiModelProperty("险类代码")
    private String riskClassCode;

    @ApiModelProperty("险种")
    private String riskSubType;

    @ApiModelProperty("险种代码")
    private String riskSubTypeCode;

    @ApiModelProperty("币种")
    private String currency;

    @ApiModelProperty("汇率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal exchangeRate;

    @ApiModelProperty("费率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal rate;

    @ApiModelProperty("保额／赔偿限额/最大自留额(单位：人民币)")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal insuredAmountRmb;

    @ApiModelProperty("保额／赔偿限额/最大自留额(单位：美元)")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal insuredAmountDollar;

    @ApiModelProperty("保额／赔偿限额变化量")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal changeInsuredAmount;

    @ApiModelProperty("保费（含税）")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal premium;

    @ApiModelProperty("含税保费变化量")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal changePremium;

    @ApiModelProperty("删除标志位（0：未删除1：已删除）")
    private String dr;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("创建人员工号")
    private String createUser;

    @ApiModelProperty("更新时间")
    @TableField(update = "now()")
    private Date updateTime;

    @ApiModelProperty("更新人员工号")
    private String updateUser;


}
